diff --git a/system/libraries/Driver.php b/system/libraries/Driver.php
index 4b35dce..382420d 100644
--- a/system/libraries/Driver.php
+++ b/system/libraries/Driver.php
@@ -80,8 +80,7 @@
 	public function load_driver($child)
 	{
 		// Get CodeIgniter instance and subclass prefix
-		$CI = get_instance();
-		$prefix = (string) $CI->config->item('subclass_prefix');
+		$prefix = config_item('subclass_prefix');
 
 		if ( ! isset($this->lib_name))
 		{
@@ -102,11 +101,12 @@
 		}
 
 		// Get package paths and filename case variations to search
+		$CI = get_instance();
 		$paths = $CI->load->get_package_paths(TRUE);
 
 		// Is there an extension?
 		$class_name = $prefix.$child_name;
-		$found = class_exists($class_name);
+		$found = class_exists($class_name, FALSE);
 		if ( ! $found)
 		{
 			// Check for subclass file
@@ -126,8 +126,8 @@
 					}
 
 					// Include both sources and mark found
-					include($basepath);
-					include($file);
+					include_once($basepath);
+					include_once($file);
 					$found = TRUE;
 					break;
 				}
@@ -139,8 +139,7 @@
 		{
 			// Use standard class name
 			$class_name = 'CI_'.$child_name;
-			$found = class_exists($class_name);
-			if ( ! $found)
+			if ( ! class_exists($class_name, FALSE))
 			{
 				// Check package paths
 				foreach ($paths as $path)
@@ -150,7 +149,7 @@
 					if (file_exists($file))
 					{
 						// Include source
-						include($file);
+						include_once($file);
 						break;
 					}
 				}
@@ -158,9 +157,9 @@
 		}
 
 		// Did we finally find the class?
-		if ( ! class_exists($class_name))
+		if ( ! class_exists($class_name, FALSE))
 		{
-			if (class_exists($child_name))
+			if (class_exists($child_name, FALSE))
 			{
 				$class_name = $child_name;
 			}
